package com.budwk.app.sqfwV2.dto.dto;

import com.budwk.app.sqfwDoc.codeGenerator.pdfGenerate.AbstractCustomerPdfCreateField;
import com.budwk.app.sqfwV2.dto.dto.centuryCity.SafeCheckTaskParamDataDTO;
import com.budwk.app.sqfwV2.dto.dto.dayingRoad.AccommodatePeopleVo;
import com.budwk.app.sqfwV2.dto.dto.dayingRoad.SandwichingVo;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 本代码由代码生成器生成，版本号1.0
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class FireSafetyOnDayingRoadPdfDTO extends AbstractCustomerPdfCreateField implements Serializable {

    @ApiModelProperty(description = "场所名称")
    private String placeName;
    @ApiModelProperty(description = "营业执照名称")
    private String businessLicenseName;
    @ApiModelProperty(description = "社会信用代码")
    private String socialCreditCode;
    @ApiModelProperty(description = "地址")
    private String address;
    @ApiModelProperty(description = "经营者")
    private String operator;
    @ApiModelProperty(description = "联系电话")
    private String operatorTelephone;
    @ApiModelProperty(description = "经营场所面积（平方米）")
    private String placeArea;

    @ApiModelProperty(description = "主要经营范围（code）")
    private String mainBusinessScope;

    @ApiModelProperty(description = "主要经营范围中文")
    private String mainBusinessScopeName;

    @ApiModelProperty(description = "食品监督检查记录")
    private List<SafeCheckTaskParamDataDTO> foodSupervisionRecords;

    @ApiModelProperty(description = "行业领域")
    private String industrySector;

    @ApiModelProperty(description = "用户用火用电情况")
    private String fireAndElectricityUsage;
    @ApiModelProperty(description = "员工人数")
    private String staffNumber;
    @ApiModelProperty(description = "主要经营产品")
    private String mainProducts;
    @ApiModelProperty(description = "主管部门")
    private String competentDepartment;

    @ApiModelProperty(description = "主管部门（中文名）")
    private String competentDepartmentName;

    @ApiModelProperty(description = "重点安全排查行业")
    private List<SafeCheckTaskParamDataDTO> keySafetyIndustries;

    @ApiModelProperty(description = "建筑类型")
    private String buildingType;

    @ApiModelProperty(description = "建筑类型（中文）")
    private String buildingTypeName;

    @ApiModelProperty(description = "夹层搭建使用")
    private SandwichingVo sandwichConstructionUse;

    @ApiModelProperty(description = "该场所住人形式")
    private AccommodatePeopleVo accommodatePeople;

    @ApiModelProperty(description = "火宅自动报警系统")
    private SafeCheckTaskParamDataDTO fireHouseAlarmSystem;

    @ApiModelProperty(description = "自动喷水灭火系统")
    private SafeCheckTaskParamDataDTO automaticSprinklerSystem;

    @ApiModelProperty(description = "室内消防栓")
    private SafeCheckTaskParamDataDTO indoorFireHydrant;

    @ApiModelProperty(description = "该场所是否配备灭火器")
    private SafeCheckTaskParamDataDTO whetherEquippedFire;

    @ApiModelProperty(description = "消防设施的其他问题")
    private SafeCheckTaskParamDataDTO fireOtherIssues;

    @ApiModelProperty(description = "电气线路情况")
    private SafeCheckTaskParamDataDTO electricalCircuitSituation;

    @ApiModelProperty(description = "电动自行车使用情况")
    private SafeCheckTaskParamDataDTO electricBicyclesUse;

    @ApiModelProperty(description = "明火、高温加热、取暖设备等的使用地点")
    private SafeCheckTaskParamDataDTO fireHighUsageArea;

    @ApiModelProperty(description = "是否存放易燃易爆危险品")
    private SafeCheckTaskParamDataDTO isCombustiblEexplosive;

    @ApiModelProperty(description = "是否使用黑酒精")
    private SafeCheckTaskParamDataDTO isBlackAlcoholUsed;

    @ApiModelProperty(description = "是否定期开展消防培训和人员上岗前消防培训")
    private Boolean isPeriodicalAirAndPersonTrain;

    @ApiModelProperty(description = "从业人员是否达到“一懂三会”要求")
    private Boolean personnelOneThreeSkills;

    @ApiModelProperty(description = "风险类型")
    private String riskType;

    @ApiModelProperty(description = "其他隐患")
    private List<SafeCheckTaskParamDataDTO> otherHiddenDangers;

    @ApiModelProperty(description = "走访图片")
    private String visitPictures;

    @ApiModelProperty(description = "部门联合执法情况")
    private String deptJoinLawSituation;

    @ApiModelProperty(description = "同行人员")
    private String peers;
    @ApiModelProperty(description = "检查日期")
    private LocalDateTime inspectionDate;
    @ApiModelProperty(description = "被检查单位负责人（签名）")
    private String checkedUnitLeader;
    @ApiModelProperty(description = "是否是夜市摊点、游摊")
    private Boolean isNightMarketStalls;

    @ApiModelProperty(description = "送气公司")
    private String gasDeliveryCompany;

    @ApiModelProperty(description = "送气公司备注信息")
    private String gasDeliveryCompanyRemark;

    @ApiModelProperty(description = "送气公司中文名")
    private String gasDeliveryCompanyName;

    @ApiModelProperty(description = "收市后存放地址")
    private String marketStorageAddress;

    @ApiModelProperty(description = "燃气存储是否合规")
    private Boolean isGasStorageCompliant;
    @ApiModelProperty(description = "液化气使用量")
    private String liquefiedGasUsage;
    @ApiModelProperty(description = "液化气存瓶数量")
    private String liquefiedGasNumber;

    @ApiModelProperty(description = "燃气报警器的数量")
    private SafeCheckTaskParamDataDTO gasAlarmsNumber;

    @ApiModelProperty(description = "是否三合一")
    private SafeCheckTaskParamDataDTO isThreeOneSystem;

    @ApiModelProperty(description = "报警器使用是否正常(报警器大于0显示)")
    private SafeCheckTaskParamDataDTO isAlarmNormal;
    @ApiModelProperty(description = "新型燃料使用情况")
    private String gasUgage;
    @ApiModelProperty(description = "购买渠道(销售企业)相关证件照片")
    private String purchasingChannelsPhoto;
    @ApiModelProperty(description = "燃气存储总量(日/升)")
    private String gasStorageTotal;
    @ApiModelProperty(description = "使用醇基燃料存储容器")
    private String alcoholBasedFuelUse;
    @ApiModelProperty(description = "风险管控措施")
    private String riskControlMeasures;

    @ApiModelProperty(description = "其余巡查内容")
    private List<SafeCheckTaskParamDataDTO> otherPatrolContents;

    @ApiModelProperty(description = "是否经营副食")
    private Boolean whetherStapleFood = false;

    @ApiModelProperty(description = "整改时间")
    private LocalDate rectificationDate;

    @ApiModelProperty(description = "整改内容体")
    private String rectificationContent;

    @ApiModelProperty(description = "隐患整改措施")
    private String rectifyingDangersMeasures;

    // 额外字段
    @ApiModelProperty(description = "重点安全排查行业31个问题额外参数")
    private ExtraProblemVo extraKeyParam;

    @ApiModelProperty(description = "其余巡查内容25个问题额外参数")
    private ExtraProblemVo extraOtherParam;

    @ApiModelProperty(description = "食品问题9额外参数")
    private ExtraProblemVo extraFoodParam;

    @ApiModelProperty(description = "其他问题额外参数(火宅自动报警系统，自动喷水灭火系统，" +
            "室内消防栓，该场所是否配备灭火器，消防设施的其他问题，电气线路情况，电动自行车使用情况，" +
            "明火、高温加热，是否存放易燃易爆危险品，是否使用黑酒精)")
    private ExtraProblemVo extraOtherIssusParam;

    @ApiModelProperty(description = "上一条数据id")
    private String lastSummaryId;

    private String inspectionOnPatrolProblem;

    @ApiModelProperty(description = "是否存在隐患（true 存在隐患 判断当前数据是否存在隐患（和默认值不一致）  false: 不存在）")
    private Boolean isExistDanger;

    @ApiModelProperty(description = "1: 没有隐患   2: 有隐患已经整改  3:有隐患没有整改)")
    private Integer isRectified;

    @ApiModelProperty(description = "存在隐患的问题描述")
    private String existDangerStr;

    @ApiModelProperty(description = "是否存在隐患详细信息")
    List<SafeCheckTaskParamDataDTO> fireIssues;
}
